package edu.vt.cbil.input;

import edu.vt.cbil.dataset.RawData;

import java.util.ArrayList;
import java.util.Arrays;

/**
 * Created by SunMing on 2016/6/20.
 */
public class Classify {
    private double ampThreshold=0.322;
    private double delThreshold=-0.415;

    public void classify(ArrayList<RawData> rawDatas,ArrayList<RawData> ampRawDatas,ArrayList<RawData> delRawDatas){
        int length=rawDatas.size();


        for(int i=0;i<length;i++){
            double[] tempData= Arrays.copyOf(rawDatas.get(i).getData(),rawDatas.get(i).getData().length);
            for(int j=0;j<tempData.length;j++){
                if(tempData[j]<=ampThreshold)
                    tempData[j]=0;
            }
            RawData tempRawData=new RawData();
            tempRawData.setId(i);
            tempRawData.setData(tempData);
            ampRawDatas.add(tempRawData);
        }

        for(int i=0;i<length;i++){
            double[] tempData= Arrays.copyOf(rawDatas.get(i).getData(), rawDatas.get(i).getData().length);
            for(int j=0;j<tempData.length;j++){
                if(tempData[j]>=delThreshold)
                    tempData[j]=0;
            }
            RawData tempRawData=new RawData();
            tempRawData.setId(i);
            tempRawData.setData(tempData);
            delRawDatas.add(tempRawData);
        }
    }

}
